package com.ts.api.module.api.convert.core.entity;

import com.gitee.apanlh.util.base.Eq;
import com.ts.api.common.constant.api.ApiEnum;
import lombok.Data;

/**
 *  API-业务状态消息实体类
 *
 *  @author Pan
 */
@Data
public class ApiBizStatus {

    /** 返回业务消息成功与否 (如果不需要可以不获取) */
    private String bizMsg;
    /** 返回业务状态 (如果不需要可以不获取) */
    private Integer bizCode;

    /**
     *  业务是否成功
     *
     *  @return boolean
     */
    public boolean hasBizSuc() {
        return Eq.object(ApiEnum.API_SIGN_SUC.getCode(), bizCode);
    }

    public static ApiBizStatus suc() {
        ApiBizStatus apiBizStatus = new ApiBizStatus();
        apiBizStatus.setBizMsg(ApiEnum.API_SIGN_SUC.getMsg());
        apiBizStatus.setBizCode(ApiEnum.API_SIGN_SUC.getCode());
        return apiBizStatus;
    }

    public static ApiBizStatus fail(String msg, Integer code) {
        ApiBizStatus apiBizStatus = new ApiBizStatus();
        apiBizStatus.setBizMsg(msg);
        apiBizStatus.setBizCode(code);
        return apiBizStatus;
    }

    public static ApiBizStatus fail(String bizMsg) {
        ApiBizStatus apiBizStatus = new ApiBizStatus();
        apiBizStatus.setBizMsg(bizMsg);
        apiBizStatus.setBizCode(1);
        return apiBizStatus;
    }
}
